home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - DOS Part 2 / DOS028.dsk / STARTREK II.int < prev    next >
Text File  |  2012-02-16  |  5KB  |  114 lines

  1. 10 DIM C$(6),D$(15)
  2. 15 CALL (-936):PRINT "PROGRAM STARTREK":PRINT 
  3. 20 Q=640:GOSUB 3000
  4. 22 S=704
  5. 24 D$="    * >B<>K<>E<"
  6. 30 INPUT "TYPE A RANDOM NUMBER (1-999) ",R
  7. 40 FOR J=1 TO R:C= RND (256):NEXT J
  8. 50 B=Q:GOSUB 1100
  9. 60 S1=75:N=S1:V=1:L=10:GOSUB 1200
  10. 70 B1=2:N=B1:V=10:L=20:GOSUB 1200
  11. 80 K1=7:N=K1:V=20:L=40:GOSUB 1200
  12. 90 T=15:GOSUB 1300:EQ= RND (4096):GOSUB 1400:GOSUB 1000
  13. 110 PRINT :INPUT "ENTER A COMMAND ",C:IF C>-1 AND C<6 THEN GOTO 100*C+200:GOSUB 3000:GOTO 110
  14. 200 INPUT "VECTOR ",X,Y:X0=X0+X:Y0=Y0+Y:E1=E1-ABS (X)-ABS (Y)
  15. 210 IF X0<0 OR X0>63 OR Y0<0 OR Y0>63 THEN 250
  16. 220 E0=E0+X+64*Y:Q1=Q0:S1=S0:GOSUB 1400:IF Q0=Q1 THEN 255
  17. 230 E1=E1-25:T=T-1:GOSUB 1000:GOSUB 1400:IF T>=0 THEN 260
  18. 240 C$="TIME":GOTO 980
  19. 250 C$="GALAXY":GOTO 980
  20. 255  POKE S+S1,0:GOSUB 1050
  21. 260 GOSUB 1800:IF B2=0 THEN 290:IF ABS (X6-X2)+ABS (Y6-Y2)#1 THEN 290
  22. 270 PRINT "-DOCKED-":GOSUB 1300:B1=B1-1:B2=0
  23. 280  POKE Q+Q0, PEEK (Q+Q0)-10: POKE S+X6+8*Y6,0:GOTO 110
  24. 290 IF K2#0 THEN GOSUB 550:GOTO 110
  25. 300 CALL (-936):C$="SHORT":GOSUB 350:GOSUB 2000:GOTO 110
  26. 350 PRINT C$;" RANGE SENSOR SCAN ";:GOSUB 360:RETURN 
  27. 360 PRINT "FOR QUADRANT ";X1;",";Y1:RETURN 
  28. 400 C$="LONG":GOSUB 350:N=3:GOSUB 880
  29. 410 FOR Y=Y1+1 TO Y1-1 STEP -1:F2=0:IF Y<0 OR Y>7 THEN F2=1:GOSUB 470:GOSUB 480
  30. 420 FOR X=X1-1 TO X1+1:F1=0:IF X<0 OR X>7 THEN F1=1
  31. 430 IF F1=0 AND F2=0 THEN 440:PRINT C$:GOTO 460
  32. 440 Q9=X+8*Y:GOSUB 1500: POKE Q+Q9,C9+40:PRINT "! ";K2;B2;S2;" ";
  33. 460 NEXT X:PRINT "!":GOSUB 480:NEXT Y:GOSUB 470:GOSUB 890:GOTO 110
  34. 470 C$="+-----":GOSUB 1600:RETURN 
  35. 480 C$="!     ":GOSUB 1600:RETURN 
  36. 500 IF K2=0 THEN 690:GOSUB 790:PRINT "ENERGY ";E1:INPUT "FIRE ",C:IF C<1 THEN 110
  37. 520 E1=E1-C:GOSUB 1800:K5=K5-C/R:IF K5>0 THEN 530:GOSUB 1900:GOTO 110
  38. 530 GOSUB 550:GOTO 500
  39. 550 J5=K5/5:K5=K5-J5:E1=E1-J5/R:PRINT J5/R;"UNITS OF PHASER DAMAGE":GOSUB 1800:RETURN 
  40. 600 IF K2=0 THEN 690:IF E2#0 THEN 610:PRINT "NO MORE TORPEDOES":GOTO 110
  41. 610 E2=E2-1:IF R> RND (15) THEN 640:GOSUB 1900:GOTO 110
  42. 640 PRINT "YOU MISSED!":GOSUB 550:GOTO 110
  43. 690 PRINT "NOTHING TO SHOOT AT!":GOTO 110
  44. 700 INPUT "COMPUTER REQUEST ",C:IF C=0 THEN 800
  45. 705 IF C=1 THEN GOSUB 3000:IF C=1 THEN 110
  46. 710 PRINT "STATUS REPORT:":PRINT 
  47. 720 GOSUB 790:PRINT "KLINGONS=";K1
  48. 730 GOSUB 790:PRINT "STARDATES=";T
  49. 740 GOSUB 790:PRINT "STARBASES=";B1
  50. 750 GOSUB 790:PRINT "TORPEDOES=";E2
  51. 760 GOSUB 790:PRINT "ENERGY=";E1
  52. 770 GOTO 110
  53. 790 PRINT :PRINT "REMAINING ";:RETURN 
  54. 800 PRINT "GALACTIC MAP ";:GOSUB 360:C$=" ---":N=8
  55. 810 GOSUB 880:FOR Y=7 TO 0 STEP -1:GOSUB 1600
  56. 820 FOR X=0 TO 7:Q9=X+8*Y:GOSUB 1500:P= PEEK (Q+Q9)
  57. 830 IF P>39 THEN 840:PRINT "    ";:GOTO 850
  58. 840 PRINT " ";K2;B2;S2;
  59. 850 NEXT X:PRINT 
  60. 860 NEXT Y:GOSUB 1600:GOSUB 890:GOTO 110
  61. 880 B8=B2:K8=K2:RETURN 
  62. 890 B2=B8:K2=K8:RETURN 
  63. 980 PRINT :PRINT "-- OUT OF ";C$;" --"
  64. 990 PRINT "YOU LEFT ";K1;" KLINGONS ":END 
  65. 1000 B=S:GOSUB 1100:Q9=Q0:GOSUB 1500: POKE Q+Q9,C9+40
  66. 1010 N=S2:V=1:L=2:GOSUB=1200
  67. 1020 N=K2:V=3:L=4:GOSUB 1200:K5=100:Y5=I/8:X5=I-8*Y5
  68. 1030 N=B2:V=2:L=3:GOSUB 1200:Y6=I/8:X6=I-8*Y6
  69. 1035 C$="GREEN":IF K2#0 THEN C$="RED":PRINT :PRINT "STARDATE: ";3278-T;", CONDITION: ";C$
  70. 1040 PRINT "QUADRANT ";X1;",";Y1;" - SECTOR ";X2;",";Y2
  71. 1050 P= PEEK (S+S0): POKE S+S0,4:IF P=0 THEN RETURN 
  72. 1060 PRINT :PRINT "*** COLLISION WITH A ";
  73. 1070 IF P=1 THEN PRINT "STAR";:IF P=2 THEN PRINT "STARBASE";:IF P=3 THEN PRINT "KLINGON";
  74. 1080 PRINT " ***":IF P=3 THEN K1=K1-1:GOTO 990
  75. 1100 FOR K=0 TO 63: POKE B+K,0:NEXT K:RETURN 
  76. 1200 IF N=0 THEN RETURN :FOR K=1 TO N
  77. 1210 I= RND (64):P= PEEK (B+I):IF P+V>=L THEN 1210: POKE B+I,P+V:NEXT K:RETURN 
  78. 1300 E1=500:E2=3:RETURN 
  79. 1400 Y0=E0/64:X0=E0-64*Y0:Y1=Y0/8:X1=X0/8:Y2=Y0-8*Y1:X2=X0-8*X1
  80. 1410 Q0=X1+8*Y1:S0=X2+8*Y2:R=ABS (X5-X2)+ABS (Y5-Y2):RETURN 
  81. 1500 C9= PEEK (Q+Q9):IF C9>=40 THEN C9=C9-40
  82. 1510 S2=C9-10*(C9/10):K2=C9/20:B2=(C9-S2-20*K2)/10:RETURN 
  83. 1600 FOR J=1 TO N:PRINT C$;:NEXT J:PRINT C$(1,1):RETURN 
  84. 1800 IF E1>0 THEN RETURN 
  85. 1810 C$="ENERGY":GOTO 980
  86. 1900 PRINT "*** BOOM ***":K1=K1-1:K2=0: POKE Q+Q0, PEEK (Q+Q0)-20: POKE S+X5+8*Y5,0
  87. 1910 IF K1 THEN RETURN :PRINT :PRINT "MISSION ACCOMPLISHED!":END 
  88. 2000 C$="+---":N=8:GOSUB 1600
  89. 2010 FOR Y=7 TO 0 STEP -1:FOR X=0 TO 7
  90. 2020 P=3* PEEK (S+X+Y*8)+1
  91. 2021 IF X=0 THEN PRINT "!";
  92. 2022 IF X#0 THEN PRINT " ";
  93. 2024 PRINT D$(P,P+2);
  94. 2030 NEXT X:PRINT "!":IF Y=0 THEN 2040:PRINT "+";:TAB 33:PRINT "+"
  95. 2040 NEXT Y:GOSUB 1600:RETURN 
  96. 3000 REM  *** LIST OF INSTRUCTIONS
  97. 3010 PRINT :PRINT "YOUR COMMANDS ARE:":PRINT 
  98. 3015 PRINT "0 MOVE TO ANOTHER SECTOR"
  99. 3016 PRINT "  X,Y"
  100. 3017 PRINT "    X=# SECTORS TO RIGHT"
  101. 3018 PRINT "    Y # SECTORS UP"
  102. 3019 PRINT "    NEGATIVE NUMBERS MEAN LEFT OR DOWN      (0,0=BOTTOM,LEFT)"
  103. 3020 PRINT "1 SHORT RANGE SCAN"
  104. 3030 PRINT "2 LONG RANGE SCAN"
  105. 3040 PRINT "3 FIRE PHASERS"
  106. 3050 PRINT "4 FIRE TORPEDOES"
  107. 3060 PRINT "5 CONSULT COMPUTER"
  108. 3070 PRINT "  0 GET CUMULATIVE MAP"
  109. 3080 PRINT "  1 GET INSTRUCTIONS"
  110. 3090 PRINT "  2 THRU 9 GET SHIP STATUS"
  111. 3980 PRINT 
  112. 3990 RETURN 
  113. 32767 REM  BY R.J. BISHOP 
  114.